问题:什么是可重入函数? 回答

🔍 溯源 ✍️ Jack | 📅 2026-03-02 | 👍 3 | 原帖↗
#知识星球 #立芯嵌入式 #来源/立芯星球 #技术/C语言 #技术/编码规范 #质量/普通

原帖 | Jack | 2026-03-02 23:13 | 👍3 | 阅读约1

问题:什么是可重入函数?
回答:可重入函数就是。这个我不知道怎么表达,就是你可以,就可以多次去调用它,就比如说你在函数中调用它自己的话底,它都不会说,就不会说,会影响到它,就你固定的输入它就会输出,固定的输出不会说受这个就递归什么什么去可能影响到它的一个结果,我这就只会这样表达。
自我评价:这个地方对可重入函数的概念不清晰,通过增加解释文字长度算是基本搭边。
建议:(老师回复)
可重入的意思是:这个函数就算被多个任务、或者中断嵌套地同时调用,也不会把彼此的状态搞乱。
一般要求它不依赖共享的全局/静态变量,不返回静态缓冲区地址,也别调用那种不可重入库函数(比如某些 printf/malloc)。
纯计算类函数通常天然可重入;一旦用了共享资源,就得加锁或做局部拷贝。


相关笔记